package com.mall.business.domain.entity;

import com.mall.common.annotation.Excel;
import com.mall.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 订单对象 bus_order
 *
 * @author zhonglin
 * @date 2020-05-24
 */
public class BusOrder
    extends BaseEntity {

  private static final long serialVersionUID = 1L;

  /**
   * 订单 id
   */
  private Long orderId;

  /**
   * 单号
   */
  @Excel(name = "单号")
  private String orderCode;

  /**
   * 状态（0-未支付，1-待发货，2-待收货，3-已完成，4-已取消，5-退款中，6-已退款）
   */
  @Excel(name = "状态", readConverterExp = "0=-未支付，1-待发货，2-待收货，3-已完成，4-已取消，5-退款中，6-已退款")
  private String status;

  /**
   * 会员 id
   */
  @Excel(name = "会员 id")
  private Long memberId;

  /**
   * 快递公司 id
   */
  @Excel(name = "快递公司 id")
  private Long expressCompanyId;

  /**
   * 快递公司 编码
   */
  @Excel(name = "快递单号")
  private String expressNumber;

  /**
   * 收件人姓名
   */
  @Excel(name = "收件人姓名")
  private String recipientName;

  /**
   * 收件人手机号码
   */
  @Excel(name = "收件人手机号码")
  private String recipientMobile;

  /**
   * 收件人电话号码
   */
  @Excel(name = "收件人电话号码")
  private String recipientPhone;

  /**
   * 收件人地址
   */
  @Excel(name = "收件人地址")
  private String recipientAddress;

  /**
   * 收件人邮箱
   */
  @Excel(name = "收件人邮箱")
  private String recipientEmail;

  /**
   * 数量
   */
  @Excel(name = "数量")
  private Long qty;

  /**
   * 金额
   */
  @Excel(name = "金额")
  private Long amount;

  /**
   * 优惠券金额
   */
  @Excel(name = "优惠券金额")
  private Long couponAmount;

  /**
   * 优惠券
   */
  @Excel(name = "优惠券")
  private Long couponId;

  /**
   * 折扣金额
   */
  @Excel(name = "折扣金额")
  private Long discountAmount;

  /**
   * 积分金额
   */
  @Excel(name = "积分金额")
  private Long pointAmount;

  /**
   * 支付金额
   */
  @Excel(name = "支付金额")
  private Long payAmount;

  public void setOrderId(Long orderId) {

    this.orderId = orderId;
  }

  public Long getOrderId() {

    return orderId;
  }

  public void setOrderCode(String orderCode) {

    this.orderCode = orderCode;
  }

  public String getOrderCode() {

    return orderCode;
  }

  public void setStatus(String status) {

    this.status = status;
  }

  public String getStatus() {

    return status;
  }

  public void setMemberId(Long memberId) {

    this.memberId = memberId;
  }

  public Long getMemberId() {

    return memberId;
  }

  public void setExpressCompanyId(Long expressCompanyId) {

    this.expressCompanyId = expressCompanyId;
  }

  public Long getExpressCompanyId() {

    return expressCompanyId;
  }

  public String getExpressNumber() {

    return expressNumber;
  }

  public void setExpressNumber(String expressNumber) {

    this.expressNumber = expressNumber;
  }

  public void setRecipientName(String recipientName) {

    this.recipientName = recipientName;
  }

  public String getRecipientName() {

    return recipientName;
  }

  public void setRecipientMobile(String recipientMobile) {

    this.recipientMobile = recipientMobile;
  }

  public String getRecipientMobile() {

    return recipientMobile;
  }

  public void setRecipientPhone(String recipientPhone) {

    this.recipientPhone = recipientPhone;
  }

  public String getRecipientPhone() {

    return recipientPhone;
  }

  public void setRecipientAddress(String recipientAddress) {

    this.recipientAddress = recipientAddress;
  }

  public String getRecipientAddress() {

    return recipientAddress;
  }

  public void setRecipientEmail(String recipientEmail) {

    this.recipientEmail = recipientEmail;
  }

  public String getRecipientEmail() {

    return recipientEmail;
  }

  public void setQty(Long qty) {

    this.qty = qty;
  }

  public Long getQty() {

    return qty;
  }

  public void setAmount(Long amount) {

    this.amount = amount;
  }

  public Long getAmount() {

    return amount;
  }

  public void setCouponAmount(Long couponAmount) {

    this.couponAmount = couponAmount;
  }

  public Long getCouponAmount() {

    return couponAmount;
  }

  public void setCouponId(Long couponId) {

    this.couponId = couponId;
  }

  public Long getCouponId() {

    return couponId;
  }

  public void setDiscountAmount(Long discountAmount) {

    this.discountAmount = discountAmount;
  }

  public Long getDiscountAmount() {

    return discountAmount;
  }

  public void setPointAmount(Long pointAmount) {

    this.pointAmount = pointAmount;
  }

  public Long getPointAmount() {

    return pointAmount;
  }

  public void setPayAmount(Long payAmount) {

    this.payAmount = payAmount;
  }

  public Long getPayAmount() {

    return payAmount;
  }

  @Override
  public String toString() {

    return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE).append("orderId", getOrderId())
                                                                    .append("orderCode", getOrderCode())
                                                                    .append("status", getStatus())
                                                                    .append("memberId", getMemberId())
                                                                    .append("expressCompanyId", getExpressCompanyId())
                                                                    .append("expressNumber", getExpressNumber())
                                                                    .append("recipientName", getRecipientName())
                                                                    .append("recipientMobile", getRecipientMobile())
                                                                    .append("recipientPhone", getRecipientPhone())
                                                                    .append("recipientAddress", getRecipientAddress())
                                                                    .append("recipientEmail", getRecipientEmail())
                                                                    .append("qty", getQty())
                                                                    .append("amount", getAmount())
                                                                    .append("couponAmount", getCouponAmount())
                                                                    .append("couponId", getCouponId())
                                                                    .append("discountAmount", getDiscountAmount())
                                                                    .append("pointAmount", getPointAmount())
                                                                    .append("payAmount", getPayAmount())
                                                                    .append("createBy", getCreateBy())
                                                                    .append("createTime", getCreateTime())
                                                                    .append("updateBy", getUpdateBy())
                                                                    .append("updateTime", getUpdateTime())
                                                                    .append("remark", getRemark())
                                                                    .toString();
  }

}
